package com.zb.result;

/**
 * 200：请求成功
 * 400：Bad Request 当前请求无法被服务器理解。请求和服务器对接不上。发送请求时出现的问题。
 * 401:unauthorized（未授权的、非法的）表示发送的请求需要有通过 HTTP 认证的认证信息
 * 403: （禁止） 服务器拒绝请求。服务器不接受请求。（可能没有权限）
 * 404：找不到页面，路径有问题。
 * 500：（服务器内部错误） 服务器遇到错误，无法完成请求。服务器中的错误即请求成功后服务器运行出现错误。java代码写的有问题。
 * 502：（错误网关） 服务器作为网关或代理，从上游服务器收到无效响应。
 * 503 ：（服务不可用） 服务器目前无法使用（由于超载或停机维护）。通常，这只是暂时状态。
 * 504：（网关超时）服务器作为网关或代理，但是没有及时从上游服务器收到请求。
 * @Author WEN
 * @Date 2023/7/7 0007
 **/
public enum ResultCode {
    /**
     * 请示成功提示
     */
    SUCCESS(true, 20000L, "成功"),

    /**
     * 登录异常提示
     */
    LOGIN(false, 41000L, "提示：登录已过期或账号密码错误！"),

    /**
     * 非法的无引号字符
     */
    ILLEGAL_PARAM(false, 40010L, "非法的参数字符错误"),

    /**
     * 未知异常提示
     */
    UNKNOWN(false, 50000L, "提示：发现未知错误，请联系客服反馈！"),

    /**
     * 被占用、已存在类型异常提示
     */
    OCCUPANCY(false, 71000L, "提示：被占用 或 已存在"),

    /**
     * 非法参数异常提示
     */
    ILLEGAL_ARGUMENT(false, 72000L, "提示：非法参数"),

    /**
     * 非法参数长度异常提示
     */
    ILLEGAL_PARAM_LENGTH(false, 72010L, "提示：非法参数长度异常提示"),

    /**
     * 空值 或 空对象参数异常提示
     */
    NULL(false, 72020L, "提示：空值 或 空对象"),

    /**
     * 短信类异常
     */
    SMS(false, 74000L, "提示：短信类异常"),
    ;

    private long code;
    private boolean success;
    private String message;

    ResultCode(boolean success, long code, String message) {
        this.success = success;
        this.code = code;
        this.message = message;
    }

    public boolean getSuccess() {
        return this.success;
    }

    public long getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }
}
